以下代码适用于获取以下URL路径:
domain.com/file/value
并重定向到file.php?page=value
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)/.+$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^([^/]+)/(.+)$ /$1.php?page=$2 [L]
但是,以下修改不会按照我期望的domain.com/file/value/datestring
和重定向到file.php?page=value&date=datestring
的方式扩展功能
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)/.+$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^([^/]+)/(.+)$ /$1.php?page=$2&date=$3 [L]
我尝试了几种组合,似乎没有任何效果,导致404。
任何人都可以帮我看看我错过的东西吗?
答案 0 :(得分:1)
您没有在重写模式中包含另一个捕获。您需要为重写模式添加另一个捕获组,以便public class PlayerPagerAdapter extends FragmentStatePagerAdapter {
//private SparseArray<ElementFragment> registeredFragments = new SparseArray<>();
private ArrayList<ElementFragment> registeredFragments = new ArrayList<>();
/*public void restoreFragment(ArrayList<ElementFragment> registeredFragments, int position) {
this.registeredFragments = registeredFragments;
notifyDataSetChanged();
switchToItem(position);
}*/
public int getFragmentResgisteredCount(){
return registeredFragments.size();
}
public PlayerPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return Math.min(registeredFragments.size(),mMaxIndexQuestionAllowed + 1);
}
public void addItem(ElementFragment elementFragment) {
registeredFragments.add(elementFragment);
}
@Override
public Fragment getItem(int position) {
return registeredFragments.get(position);
}
}
。
three