我需要一个解决方案。需要重写两个URL:
/page.php?page=onama
/page.php?page=pravila
到
/onama
/pravila
我尝试了许多不同的解决方案,但没有一个奏效。然而,我确实重写了这些网址,就像我说的,但是我的页面没有打开,所以我想它都在细节中。
对于提示:
>
onama.php和pravila.php文件位于/pages/目录中
编辑:
我想我很幸运:)用这个再试了一次,它成功了,我不擅长.htaccess规则,但这是我问题的解决方案:
RewriteCond %{QUERY_STRING} ^page=([^&\s]+)$ RewriteRule ^(?:page\.php|)$ /%1? [R=301,L] RewriteCond %{QUERY_STRING} ^page=([^&\s]+)&page=([^&\s]+)$ RewriteRule ^(?:page\.php|)$ /%1/%2? [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^\s\/]+)/?$ page.php?page=$1&r [L,QSA]
编辑(新问题)
我试图制定两个重写规则,但无法让它们一起工作。所以,问题在于规则1和规则2。
当规则1第一次出现在.htaccess
文件中时,它就像一个符咒一样工作,但是规则2有一个问题-给了我一个空白页。
当RULE 2第一次出现在. htaccess
文件中时,RULE 1不起作用-给我404页。
在这两种情况下,URL都是SEF,并且正常工作,但内容不显示。
我的htaccess文件:
# RULE 1 - rewriting "/index.php?view=X" to "/X"
RewriteEngine On
RewriteCond %{QUERY_STRING} ^view=([^&\s]+)$
RewriteRule ^(?:index\.php|)$ /%1? [R=301,L]
RewriteCond %{QUERY_STRING} ^view=([^&\s]+)$
RewriteRule ^(?:index\.php|)$ /%1/%2? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\s\/]+)/?$ index.php?view=$1&r [L,QSA]
# END OF RULE 1
# RULE 2 - rewriting "page.php?page=X" to "/X"
RewriteEngine On
RewriteCond %{QUERY_STRING} ^page=([^&\s]+)$
RewriteRule ^(?:page\.php|)$ /%1? [R=301,L]
RewriteCond %{QUERY_STRING} ^page=([^&\s]+)&page=([^&\s]+)$
RewriteRule ^(?:page\.php|)$ /%1/%2? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\s\/]+)/?$ page.php?page=$1&r [L,QSA]
# END OF RULE 2
#RULE 3 - rewriting "index.php" to "/"
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
#END OF RULE 3
RewriteEngine On
RewriteRule ^pravila$ "/page.php?page=pravila"
RewriteRule ^onama$ "/page.php?page=onama"
您的Apache需要配置为允许在此目录中覆盖.htaccess才能工作。
问题内容: 在AppConfig类的代码中,我们可以看到: 好吧,这是我的例子: my_app / apps.py 我只想使现成的方法起作用。也就是说,当Django找到my_app时,让它运行ready方法。 该应用已在INSTALLED_APPS中注册。 我执行’python manage.py runserver’。并没有打印任何内容。 如果我在ready方法中放置一个断点,则调试器不会在那
"The great thing about mod_rewrite is it gives you all the configurability and flexibility of Sendmail. The downside to mod_rewrite is that it gives you all the configurability and flexibility of Send
请参考:http://www.kancloud.cn/manual/thinkphp/1866
问题内容: 基本上,这就是我要实现的目标。 classname @ address(?)[原始],对象的名称,对象的年龄 问题,被递归调用。 我不能打电话,因为那不是我想要的。我想叫原件。 这个 由于明显的原因而无法正常工作。 我已经精疲力竭了,一旦方法被重写,可以做到这一点吗?即所谓的原始实现? (我的编辑)基本上,我需要的是:覆盖toString以显示’this’对象的两个属性,并且我也想让’
问题内容: 鉴于Python文档为: 您可以在子类中重写此方法。标准的run()方法调用传递到对象构造函数的可调用对象作为目标参数(如果有),并分别从args和kwargs参数中获取顺序和关键字参数。 我构造了以下代码: 但是当我执行它时,出现以下错误: 似乎我缺少明显的东西,但是我看到的各种示例都可以使用此方法。最终,我尝试将字符串和字典传递给线程,如果构造方法不是正确的方法,而是在启动线程之前
Apache 提供了基于正则表达式规则动态修改传入的请求的 URL 的方法。这用于以自己喜欢的任意方法映射任意 URL 到你的内部 URL 结构。 它支持无限的规则,以及为每个规则附加条件,从而提供了一个真正灵活且强大的 URL 操作机制。URL 操作可以依赖于各种测试,例如服务器变量,环境变量,HTTP 头,时戳,甚至外部数据库查询等,以便完成 URL 单元匹配。 这个模块在服务器上下文 (),