.htaccess从url隐藏php参数键,但不更改物理路径

.htaccess从url隐藏php参数键,但不更改物理路径,php,.htaccess,Php,.htaccess,我正在寻找从我的url中隐藏参数键的解决方案 例如/page1.php?city=Lahore 我想把它改写成/page1/Lahore 但最重要的是,Lahore不是服务器上存在的目录,我希望它指向同一个文件page1.php,只是在外部重写url 谢谢从根目录创建一个.htaccess文件并粘贴此代码 RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule ^page1/(.*)? /page1.php?city=$1 [L] 或者您也可以将其放在

我正在寻找从我的url中隐藏参数键的解决方案

例如/page1.php?city=Lahore

我想把它改写成/page1/Lahore

但最重要的是,Lahore不是服务器上存在的目录,我希望它指向同一个文件page1.php,只是在外部重写url


谢谢

从根目录创建一个.htaccess文件并粘贴此代码

RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^page1/(.*)? /page1.php?city=$1 [L]
或者您也可以将其放在您的网站apache conf文件中。

试试这段代码 对于.htaccess文件

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /projectfoldername/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^page1/(.+?)/?$ /projectfoldername/page1.php?key=$1 [L,QSA]
php代码将是

<?php 
echo $_REQUEST['key'];  
?>
然后打电话


输出将是:1947

我让此解决方案执行作业RewriteCond%{the_REQUEST}/?:page1\.php?\?city=[^\s&]+[NC]RewriteRule^/page1.php/%1?[R=302,L,NE]但它试图加载实际上不存在的目录Lahore,但这在第1页上是特定的,它不是通用的。。如果你有第1页,第2页等等。。。是否可以写入^page\d+/.*/page$1.php?city=$2[L]您刚才共享的代码不起作用,目前对我有效的代码是rewritesecond%{the_REQUEST}/?:page1\.php?\?city=[^\s&]+\s[NC]RewriteRule^/m/en/page1.php/%1?[R=302,L,NE]但现在的问题是,我的js文件没有加载,路径显示现在添加/m/en/page1.php/js/myscript.js,应该是/m/en/js/myscript.js