Php 如何通过htaccess重写URL?
如何重写下面的url 我想改写成Php 如何通过htaccess重写URL?,php,.htaccess,Php,.htaccess,如何重写下面的url 我想改写成 http://www.planethomes.in/property/mumbai/Puraniks-Tokyo-Bay-Phase-1 但这并没有发生。下面是我的.htaccess文件 Options -Indexes Options +FollowSymlinks RewriteEngine On RewriteRule ^property/([_0-9a-z-]+)/([_0-9a-z-]+) project-detail.php?city={R:1
http://www.planethomes.in/property/mumbai/Puraniks-Tokyo-Bay-Phase-1
但这并没有发生。下面是我的.htaccess文件
Options -Indexes
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^property/([_0-9a-z-]+)/([_0-9a-z-]+) project-detail.php?city={R:1}&project={R:2}
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
您可以使用
%{QUERY\u STRING}
执行此操作:
RewriteEngine On
RewriteCond %{QUERY_STRING} city=(.+)&project=(.+)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/property/%1/%2 [R=301,L,QSD]
然后,要在内部重写URL,请添加以下内容:
RewriteRule ^/property/([^/]*)/([^/]*) /project-detail.php?city=$1&project=$2 [L]
在测试此项之前,请确保清除缓存。你会注意到我使用了
R=301
这是一个永久重定向,我建议在测试时使用R=302
,因为这是一个临时重定向。重写规则是一个词我已经编辑了我的问题,请点击。我已经尝试过上面提到的内容,请阅读-总结是,这不是一个理想的方式来解决志愿者,可能会适得其反获得答案。请不要将此添加到您的问题中。在Apache中打开“重写日志”以查看规则不起作用的原因。是否要详细说明?你有错误吗?什么都没发生吗?因为我在自己的服务器上测试了这个,效果很好。我发现404页没有找到。我已经做了编辑。现在试试。将其放在.htaccess
的顶部。记得把内部重写放在另一个下面。很抱歉,它也不起作用。是否需要在.htaccess文件之外进行任何设置。我尝试了所有的方法,但没有重写。您的.htaccess
中还有其他内容吗?另外,您是否启用了mod_rewrite
?如果没有,那么它将不起作用。