我正在根据下面的建议更新我的问题
用于重写的.htaccess文件代码-
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^SearchResult/(.*)$ SearchResult.php?category_slug=$1 [QSA,L]
</IfModule>
但是上面的.htaccess规则并没有改变我的url。如果你转到下面的url,它不是按照规则重写url
Url-http://expertsusa.org/SearchResult.php?category_slug=t
Url应重写为http://expertsusa.org/SearchResult/t
首先在.htaccess文件-中尝试下面的代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/SearchResult/$1 SearchResult.php?id=$1 [NC,L]
</IfModule>
上面的代码是为SearchResult.php页面添加更多页面时,您可以卸载并使用上面类似类型的代码,如About.php,您可以在下面使用-
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/SearchResult/$1 SearchResult.php?id=$1 [NC,L]
RewriteRule ^/About/$1 About.php [NC,L]
</IfModule>
在您的情况下,在.htaccess文件中进行上述更改后,您的url将根据需要工作。但是你的页面css在这之后被弄糊涂了,因为你的js,特别是你的css文件没有根路径,请尝试下面的解决方案-
转换以下代码行
<link href="css/bootstrap.min.css" rel="stylesheet" async>
<script src="js/jquery.min.js" ></script>
<script src="js/bootstrap.min.js" ></script>
<script src="js/alertify.min.js" type="text/javascript" ></script>
至下方
<link href="/css/bootstrap.min.css" rel="stylesheet" async>
<script src="/js/jquery.min.js" ></script>
<script src="/js/bootstrap.min.js" ></script>
<script src="/js/alertify.min.js" type="text/javascript" ></script>
订单是重要的
<IfModule mod_rewrite.c>
RewriteEngine On
# browser requests PHP
RewriteRule ^SearchResult/(.*)$ SearchResult.php?category_slug=$1 [QSA,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}' /([^' ]+)'.php
RewriteRule ^/?(.*)'.php$ /$1 [L,R=301]
#It is to check whether Request if for PHP File
RewriteCond %{REQUEST_FILENAME}'.php -f
RewriteRule ^/?(.*)$ /$1.php [L]
</IfModule>
试试这些规则:
Options -MultiViews
RewriteEngine On
RewriteCond %{THE_REQUEST} /SearchResult'.php'?category_slug=([^'s&]+) [NC]
RewriteRule ^ /SearchResult/%1? [R=302,L,NE]
RewriteCond %{THE_REQUEST} 's/+(.+?)'.php['s?] [NC]
RewriteRule ^ /%1 [R=302,NE,L]
RewriteRule ^SearchResult/(.*)$ SearchResult.php?category_slug=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]