Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过htaccess重写URL?_Php_.htaccess - Fatal编程技术网

Php 如何通过htaccess重写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

如何重写下面的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}&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
?如果没有,那么它将不起作用。